package com.linktel.productionLine.dao;

import com.linktel.productionLine.entity.ProcedureProductSeriesStep;
import com.linktel.productionLine.entity.dto.displayStep.DisplayStepDTO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* @author Linktel
* @description 针对表【procedure_product_series_step(产品系列待查工序表)】的数据库操作Mapper
* @createDate 2023-09-19 09:22:14
* @Entity com.linktel.productionLine.entity.ProcedureProductSeriesStep
*/
public interface ProcedureProductSeriesStepDao {
    /**
     * 根据产线id列表得到产线包括的工序列表
     *
     * @param productionCodeList 产线id列表
     * @return 产线包括的工序列表
     */
    List<DisplayStepDTO> listDisplayStep(@Param("productionCodeList") List<String> productionCodeList);

    /**
     * 新增产线以及包括的工序
     *
     * @param procedureProductSeriesStep 产线包括的工序封装
     * @return 是否新增成功
     */
    Boolean addDisplayStep(@Param("procedureProductSeriesStep") ProcedureProductSeriesStep procedureProductSeriesStep);

    /**
     * 根据产线编码删除产线显示工序
     *
     * @param workLineCode 产线编码
     * @return 是否删除成功
     */
    Boolean deleteDisplayStep(@Param("workLineCode") String workLineCode);

    /**
     * 修改产线显示工序
     *
     * @param procedureProductSeriesStep 要修改的新的内容
     * @return 是否修改成功
     */
    Boolean editDisplayStep(@Param("procedureProductSeriesStep") ProcedureProductSeriesStep procedureProductSeriesStep);

    /**
     * 根据产线编码的查询产线id
     * @param workLineCode 产线编码
     * @return 产线id
     */
    Long getByWorkLineCode(@Param("workLineCode") String workLineCode);
}
